Stiff increases in the volume of both computation and data over the past few decades have spurred computer architecture researchers and designers to focus on high performance; this results in the development of resource-intensive technologies, such as multi-core microprocessors, high capacity storage devices, and super-speed communications devices. The efficient use of these powerful resources has always been an essential issue, particularly for multiprocessor computer systems (MCSs), such as grids and clouds, in which there are a multitude of processors often as many as hundreds of thousands of them.
Since precedence-constrained parallel applications in scientific and engineering fields are the most typical application model, the problem of scheduling these applications (task scheduling) both on homogeneous and heterogeneous computing systems has been studied extensively over the past few decades. However, most efforts in task scheduling have focused on two issues, the minimization of application completion time (makespan/schedule length) and time complexity; in other words, the main objective of a task scheduling algorithm is the generation of the optimal schedule for a given application with the minimal amount of scheduling time.
It is only recently that much attention has been paid to energy consumption in scheduling, particularly on high-performance computing systems (HPCSs). The energy consumption issue in these HPCSs raises various monetary, environmental and system performance concerns. A recent study on power consumption by servers [2] shows that electricity use for servers worldwide—including their associated cooling and auxiliary equipment—in 2005 cost 7.2 billion US dollars. The study also indicates that electricity consumption in that year had doubled compared with consumption in 2000. Clearly, there are environmental issues with the generation of electricity.
The number of transistors integrated into today's Intel Itanium 2 processor reaches to nearly 1 billion. If this rate continues, the heat (per square centimeter) produced by future Intel processors would exceed that of the surface of the sun [3]; this implies the possibility of worsening system reliability, eventually resulting in poor system performance.